import matplotlib.pyplot as plt
import numpy as np
import matplotlib
import glob
import cv2

im_paths = glob.glob('data/personai_icartoonface_detval/*.jpg')
max_sides = []
cnt = 0
cnt_1000 =0
for path in im_paths:
    img = cv2.imread(path)
    side = max(img.shape[:2])
    print(cnt)
    cnt+=1
    if side>1000:
        cnt_1000+=1
        continue
    max_sides.append(side)
    


# 设置matplotlib正常显示中文和负号
# matplotlib.rcParams['font.sans-serif']=['SimHei']   # 用黑体显示中文
# matplotlib.rcParams['axes.unicode_minus']=False     # 正常显示负号
# 随机生成（10000,）服从正态分布的数据
# data = np.random.randn(10000)
# """
# 绘制直方图
# data:必选参数，绘图数据
# bins:直方图的长条形数目，可选项，默认为10
# normed:是否将得到的直方图向量归一化，可选项，默认为0，代表不归一化，显示频数。normed=1，表示归一化，显示频率。
# facecolor:长条形的颜色
# edgecolor:长条形边框的颜色
# alpha:透明度
# """
# plt.hist(data,normed=1, edgecolor="black", alpha=0.7)
# # 显示横轴标签
# plt.xlabel("区间")
# # 显示纵轴标签
# plt.ylabel("频数/频率")
# # 显示图标题
# plt.title("频数/频率分布直方图")
# plt.show()


 
# 2）创建画布
plt.figure()
 
# 3）绘制直方图
# 设置组距
distance = 100
# 计算组数
group_num = int((max(max_sides) - min(max_sides)) / distance)
print(group_num, cnt_1000)
# 绘制直方图
plt.hist(max_sides, bins=group_num, edgecolor="black", alpha=0.7)
 
# 修改x轴刻度显示
# plt.xticks(range(min(max_sides), max(max_sides))[::100])
plt.xticks(range(100, 1000, 100), rotation=30)
 
# 添加网格显示
plt.grid(linestyle="--", alpha=0.5)
 
# 添加x, y轴描述信息
plt.xlabel("max_side")
plt.ylabel("prob")
 
# 4）显示图像
# plt.show()
plt.draw()
plt.savefig('fig.png')